문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 Windows API (문단 편집) === 문자열 처리 === [[MS-DOS]]와 [[Windows 9x]]에서는 문자열을 [[ASCII]]로 처리하였다. ASCII는 로마자와 특수문자 위주로 구성되어 있으며 1바이트의 남은 공간에는 각 나라의 자국 문자를 할당시켰다. 하지만 그 결과로 한 나라에서 다른 나라로 이메일을 보냈더니 내용이 모두 깨지는 문제가 발생하였다. 인터넷 홈페이지도 마찬가지로 다른 언어로 된 페이지를 다른 나라에서 보면 내용이 깨진 채로 나왔다. 이 때문에 [[Windows NT]] 기반 운영체제에서는 다국어를 지원하기 위해 [[유니코드]]로 문자열을 처리하게 되었다. Windows API 중 문자열을 처리하는 함수의 경우 맨 뒷자리에 A와 W가 붙여있는 두개로 나뉘어져 있는데, 이는 문자열 처리 방식 때문으로 A는 ASCII, W는 유니코드 함수임을 의미한다. 예를 들어 CreateFile의 경우 CreateFileA는 ASCII 함수, CreateFileW는 유니코드 함수다. 참고로 ASCII 함수를 호출할 경우 내부적으로 MultiByteToWideChar 함수를 통해 유니코드로 변환시킨 후 유니코드 함수를 호출한다. (예: CreateFileA -> MultiByteToWideChar -> CreateFileW) [* Windows 9x에서도 Windows NT와의 호환성을 위해 ASCII와 유니코드 함수 모두 존재하는데, Windows 9x에서 유니코드 함수를 호출하여 내부적으로 ASCII로 변환시킨 후 ASCII 함수를 호출한다.] Windows NT의 유니코드 형식은 wchar_t이다. 다만 WCHAR로 형식 이름을 바꾸어 사용한다. 그리고 여러 유니코드 형식이 있는데 다음과 같다. || 형식 이름 || 실제 형식 || || WCHAR || wchar_t || || LPWSTR || wchar_t* || || LPCWSTR || const wchar_t* || 참고로 윈도우 커널에서는 UNICODE_STRING 구조체를 사용하여 문자열을 처리한다. RtlInitUnicodeString 함수로 초기화시킬 수 있으며 Windows API에서 시스템 콜을 사용해야 할 때 UNICODE_STRING 구조체를 초기화한 후 인수로 넘겨준다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기